iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 23
0
自我挑戰組

30天教你學會Git系列 第 23

[Day23]出狀況啦~~~~

  • 分享至 

  • xImage
  •  
  • 欸嘿,不知不覺已經第23天啦~
  • 接下來幾天我都會分享一些大家在使用git的時候會遇到的問題

新建目錄

  • 各位記得我在很久之前寫過一個關於伏筆的東西嗎?

好像在Day07的樣子吧((沉思

  • 當我們在一個git的資料夾再建立一個"空的"資料夾的時候,Git好像...不怎麼理我欸
$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

$ ls
123.txt   Hello.txt

$ mkdir test-dir

$ ls
123.txt   Hello.txt   test-dir

  • 好,我確定我現在建好了一個新的資料夾叫test-dir嘛!
  • 那我們看一下git status
$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean
  • 欸發生什麼了?!
  • 我不是創建好資料夾了嗎,怎麼什麼都沒有!!
  • 恩....其實呢,這是因為git是不會追蹤一個"空的"資料夾XD
  • 如果今天我們在這個資料夾裡面在新增一個檔案的話~
$ cd test-dir

$ vim test.txt

$ cd ..

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	test-dir/

nothing added to commit but untracked files present (use "git add" to track)
  • 欸嘿!這樣你的資料夾就跑出來囉!!

我手殘刪掉檔案啦QQ

  • 沒錯,曾經有個可愛的同學跑來這樣問我

  • 他一個不小心把所有檔案都給刪掉了XD

  • 現在,讓我們來模擬一下他的情況吧~~

  • 在資料夾裡面,假設有三個.txt的檔案,我們用指令將它給刪除掉吧!

$ ls 
123.txt  456.txt  789.txt

$ rm *.txt 

$ git status
On branch master
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    123.txt
        deleted:    456.txt
        deleted:    789.txt

no changes added to commit (use "git add" and/or "git commit -a")

  • 沒有錯啦~現在status裡面有我們剛剛刪掉的東西呀
  • 如果要把檔案給救回來的話,請用git checkout!!!
  • 你沒看錯~就是你之前學來切換branch的指令XD
$ git checkout 123.txt
Updated 1 path from the index

$ git checkout .
Updated 2 paths from the index
  • 上面是指定要救回哪一個檔案
  • 下面則是把所有附檔名為.txt的檔案都給救回來

今天先到這邊啦~~ 明天在繼續我們的狀況處哩!


上一篇
[Day22] 使用GitHub製作一個客製化的網站!
下一篇
[Day24] 我們昨天說得好像...有點意思
系列文
30天教你學會Git30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言